perm filename SUAI.TXT[NET,MRC] blob sn#493622 filedate 1980-01-04 generic text, type T, neo UTF8
   (SU-AI)     STANFORD UNIVERSITY
               ARTIFICIAL INTELLIGENCE LABORATORY

      (FUNCTION)

         SERVER      COMPUTER: DEC-1080          HOST 0/IMP 11
                              -> PDP-10
                              -> PDP-11/45 -> SPS-41

         Primarily an artificial intelligence research facility.

      (ADDRESS)

         Stanford University
         Artificial Intelligence Laboratory
         Department of Computer Science
         Stanford, California  94305

      (PERSONNEL)

         ACTING DIRECTOR
           Les Earnest (LES@SU-AI)            (415) 497-4202

         LIAISON
           Mark Crispin (Admin.MRC@SU-SCORE)  (415) 497-1407

         ACCOUNTS
           Lester Earnest (LES@SU-AI)         (415) 497-4202

         SOFTWARE CONTACT
           Martin Frost (ME@SU-AI)            (415) 497-2462

         HARDWARE CONTACT
           Robert Poor (ROB@SU-AI)            (415) 497-2462

         OPERATOR
           None.  Machine room phone number   (415) 497-4975
           Note:  this phone is normally unattended.

      (ACCOUNTING)

         SU-AI sells computer time pie-slices proportional to the
         support a user's group provides to the system.  For more
         information, contact the accounts manager.

         There is no general guest account.

      (SERVICE-SCHEDULE)

         SU-AI is available to users 24 hours daily except for
         occasional system work, which is usually held on weekdays
         between 1700-2000, Pacific time.

         TYPICAL LOAD = 45 users
         MAX. NO. USERS = 63 jobs combined local and network
         NO. NETWORK SLOTS - 15 pseudo-terminals maximum

      (LOGIN)

         TELNET INFO:

         . Appropriate transmission mode = Character-at-a-time

         . Appropriate echo mode = Remote echoing

         . Monitor commands to declare terminal characteristics:
           Note: in what follows, the word "display" means "a terminal
           which has been declared to the system to be one of the
           specific models of display terminal supported as such by
           WAITS.  This will be explained further below.

           [.]tty <SP> arrow <CR>
           [.]tty <SP> no <SP> arrow <CR>
             Declare that the system should print control characters
             as uparrow followed by the character plus 100 (octal).
             Ignored on displays.

           [.]tty <SP> convert <CR>
           [.]tty <SP> no <SP> convert <CR>
             Declare the terminal to be an ASCII-68 terminal (ALTMODE
             is on 033 octal) and character set conversion should be
             done between ASCII-68 and Stanford-ASCII (an extension
             of ASCII-63).
             TTY NO CONVERT means that the terminal is a Stanford-ASCII
             or ASCII-63 terminal and does not require character set
             conversion.  Many teletypes work this way; if ALTMODE
             doesn't work TTY NO CONVERT should be tried.

           [.]tty <SP> delete <CR>
           [.]tty <SP> no <SP> delete <CR>
             Interchange the functions of RUBOUT and BACKSPACE, for the
             benefit of terminals whose RUBOUT key is a shift character.

           [.]tty <SP> echo <CR>
           [.]tty <SP> no <SP> echo <CR>
             The system will echo user typein.

           [.]tty <SP> fill <CR>
           [.]tty <SP> no <SP> fill <CR>
             The system should insert fill characters after <CR>s.
              Ignored on displays.

           [.]tty <SP> full <CR>
           [.]tty <SP> no <SP> full <CR>
             The system will accept and output lower case.

           [.]tty <SP> gag <CR>
           [.]tty <SP> no <SP> gag <CR>
             Disallow receipt of messages or links.  Useful when typing
             a listing where clean output is desired.

           [.]tty <SP> glass <CR>
           [.]tty <SP> no <SP> glass <CR>
             The terminal is a video terminal which can erase a
             character by backspacing and overstriking with a space.
             Ignored on displays.

           [.]tty <SP> tabs <CR>
           [.]tty <SP> no <SP> tabs <CR>
             The terminal has hardware tabs every 8 print positions or
             is a display with settable tabs.  If this is not set then
             the system converts tabs to the correct number of spaces.

           [.]tty <SP> tgag <CR>
             Temporarily "gag" the terminal; ie., turn off gag-ness when
             the current program exits.  Less anti-social than gagging.

           [.]tty <SP> width <SP> LINE-WIDTH <CR>
             The system will output a <CR> if a greater number of
             characters than the specified width are output.  Ignored
             on displays.

         . Initial settings for network connections:

            ARROW, CONVERT, ECHO, NO FILL, FULL, NO GLASS, NO TABS,
            WIDTH 84

            (NOTE: the echoing state can be controlled by TELNET control
            codes as well as by the TTY ECHO command.  The TELNET
            protocol requires an initial assumption of half-duplex but
            our server switches the connection to full-duplex if
            possible.)

         Use of display terminals is somewhat different from that of
         non-displays.  The WAITS monitor provides extensive software
         support for positioned text display on terminals with adequate
         hardware capability (an insert/delete feature is the most
         important requirement).  This support includes a "line editor"
         which allows modification of any character in the current input
         line (not just the last character as in standard rubout
         processing), the ability to divide the display screen into
         independently scrolled output areas, and a continually
         updated display of job and system status.  Several utility
         programs rely on this monitor support; most notable are the
         text editor E and the directory editor DIRED, as well as the
         NS and HOT programs, all described below.

         The WAITS display facility has been installed in a TOPS-10
         6.03 monitor at one site outside of Stanford.  The WAITS
         Monitor Command Manual describes the use of the Stanford
         display service in detail.

         The user is also referred to the online file DM.ME[UP,DOC],
         which describes using displays at SU-AI over the network.
         The file DISPLA.ME[UP,DOC] gives details on the particular
         types of display terminals supported by WAITS.  In addition,
         if the display terminal being used does not have an "edit
         key" (in other words, a key which ORs octal 200 into the
         typed character) then the file NOEDIT.BH[UP,DOC] is essential
         reading.

         . The following commands only apply to display terminals:

           [.]tty <SP> DISPLAY-TYPE <SP> SCREEN-HEIGHT <SP> SCREEN-WIDTH <CR>
             Declare the terminal to be a display terminal.  The screen
             height defaults to 24 lines, the width to 80 columns.
             Currently supported display types are:
                C100A   Concept 100 type A (local type designation)
                DM      Datamedia 2500
                DM128   Datamedia capable of displaying 128 graphics
                DM3025  Datamedia 3025
                DMWAITS Datamedia 3025 with SU-AI keyboard
                HP2648  Hewlett-Packard 2648A
                TELERAY Teleray model 1061 with EDIT key (200 bit)
                TELERB  Teleray model 1061 without EDIT key

           [.]tty <SP> no <SP> DISPLAY-TYPE <CR>
             Revert back to non-display service.  The name of any of the
             supported display types (listed above) can be used.

           [.]tty <SP> blink <CR>
           [.]tty <SP> no <SP> blink <CR>
             The system will complement the emphasis condition of text
             in the line editor.

           [.]tty <SP> bs <CR>
           [.]tty <SP> no <SP> bs <CR>
             The system assumes rubout (177) is a displayable graphic.

           [.]tty <SP> edit <CR>
           [.]noedit <CR>
             The system assumes that the 200 bit (parity bit) of input
             characters is controlled by an EDIT key.

           [.]tty <SP> htoggle <CR>
           [.]tty <SP> no <SP> htoggle <CR>
             The system assumes that the hold character toggles holding
             as opposed to requiring "escape hold" to unhold.

           [.]tty <SP> initialize <CR>
             Completely reinitialize the display, including setting up
             tabs, etc.

           [.]tty <SP> padbaud <SP> BAUD-RATE <CR>
             Set the baud rate used in padding calculations.

           [.]tty <SP> padchar <SP> CHARACTER <CR>
             Set the character to use in padding (the character argument
             is an octal number).

           [.]tty <SP> setesc <SP> CHARACTER <CR>
             Set the character indicating display "escape" (the argument
             is an octal number) on a no-edit-key display.

         NOTE: Some TENEX TELNETs will work on displays provided the
         user specifies "transparent mode".  Only NEW protocol TELNET
         will work on displays.

         LOGIN:

         Connect to SU-AI, then type:
           [SU-AI WAITS 9.08/C  Assembled 12/16/79]
           [.]login <SP> PRJ/PRG <CR>
             (where PRJ = Project No., and PRG = Userid,
              each limited to 3 letters)
           [Job 2 SU-AI WAITS 9.08/C Assembled 12/16/79]
           [Password=] PASSWORD <CR>
           [Saturday 22-Dec-79 1735 71F 22C]
           [SYSTEM-MESSAGES]
           [Exit]
           [↑C]
           [.]

         SUBSYSTEM INTERRUPT = CONTROL-C CONTROL-C.  A single CONTROL-C
         returns to command level when the user program requests typein.
         CONTROL-C does not abort output; CONTROL-O must be used for
         this purpose.

         SUBSYSTEM CONTINUE = [.]continue <CR>

      (LOGOUT)

         LOGOUT:

         CONTROL-C CONTROL-C (returns to the monitor command processor)
         [.]kjob <CR>
         [job NN PRG,PRG Logged off TTY64 17:38 22-Dec-79]
         [0.05 hours, console time]
         [0.00 minutes, cpu time]
         [9.61 Pages average core]
         [Kjob]
         [.]

         AUTOLOGOUT:

         Jobs which are idle for a certain amount of time will get
         logged out automatically.  The algorithm changes continually;
         read the system notices for the latest algorithm.
         Breaking the network connection detaches the job, which will be
         autologged out if not reattached.
         If a network port is idle for one minute with no job on it, the
         network connection is automatically closed.

      (CONTROL-CHARACTERS)

         NOTE:  These control characters apply ONLY to non-display
         terminals.  Display terminals have COMPLETELY DIFFERENT
         "control characters."  See above and read the online files
         DM.ME[UP,DOC] and NOEDIT.BH[UP,DOC] for more information.

         The system control characters are listed below:

         Toggle output holding   CONTROL-B
         Stop program            CONTROL-C CONTROL-C
         Deferred stop program   CONTROL-C
         Toggle abort output     CONTROL-O
         Delete input line       CONTROL-U
         Extended command        CONTROL-← (where ← is underscore)
         Delete last character   RUBOUT

         The extended command character CONTROL-← is also used as a
         quote for any of the system control characters; for example,
         CONTROL-← CONTROL-C sends a CONTROL-C to the user program
         instead of interrupting it.

         The extended commands are listed below.  Some of them take an
         argument, which defaults to 1.  Either a positive or negative
         number may be typed as an argument, which is entered between
         the CONTROL-← and the command character.  For example, to
         delete the last three words, one can do CONTROL-← 3 CONTROL-W.
         An example of a negative argument is to disable TTY FULL mode,
         which is done by CONTROL-← - F.

           Delete last word          CONTROL-← CONTROL-W
           Add 200 bit to next chr   CONTROL-← C
           Add 600 bits              CONTROL-← D
           TTY FULL                  CONTROL-← F
           Hide terminal output      CONTROL-← H
           Program interrupt         CONTROL-← I
           Add 400 bit to next chr   CONTROL-← M
           No-op (cancel entry)      CONTROL-← N
           Retype input line         CONTROL-← R
           Type job status           CONTROL-← W
           Type list of open files   CONTROL-← V
           Zero XTIME after IOWQ     CONTROL-← X
           Zero XTIME now            CONTROL-← 1 X
           Show next open file       CONTROL-← 2 X
           Automatically beep        CONTROL-← Z

         Notes on extended commands:

         The 200 and 400 bits on a character are the "bucky bits" in the
         Stanford 9-bit character set, which our display terminals use.
         The 200 bit is called CONTROL, the 400 bit META, and both together
         are called CONTROL-META or "double bucky".  Several programs, such
         such as E, use bucky bits to modify the effect of the character
         typed.  Note that Stanford CONTROL has no relation to ASCII
         CONTROL.

      (HELP)

         To read the short online help files, type:
           [.]help <CR> or [.]help <SP> TOPIC <CR>
         Large documentation files are read using the editor E (see below).

      (NETWORK-COMMANDS)

         (LIST-ACTIVE-USERS)

            [.]who <CR>      gives job-status information (jobname,
                              size, queue, ...)
            [.]finger <CR>   gives human-oriented information (full
                              name, physical location, ...)
            [.]where <CR>    gives job-status information, much like
                              that from TENEX SYSTAT.

         (NETWORK-STATUS)

            To see a detailed status of all network connections type:
              [.]who <SP> a <CR>
            To see the status (up or down) of all hosts on the ARPANET:
              [.]r <SP> hostat <CR>
            To see the status of the Dialnet ports type:
              [.]who <SP> l <CR>

         (SEND-MESSAGE-TO-ACTIVE-USERS)

            To send a one-line message to a logged-in user, type:
              [.]send <SP> RECIPIENT-ID <SP>...MESSAGE...<CR>

            To send a multi-line message to a logged in user, type:
              [.]send <SP> RECIPIENT-ID <CR>
              [Type message followed by <CTRL>Z]
              ...MESSAGE...<CR>
              ...MORE MESSAGE...CONTROL-Z

            "ID" may be the recipient's programmer ID or real name.
            Recipient-id's may be network addresses, in the form
            USER-ID@HOST.
            On display terminals the message is terminated with
            CONTROL-META-LINEFEED instead of CONTROL-Z.

         (LINK-TO-ACTIVE-USERS)

            To link to another terminal, type:
              [.]talk <SP> RECIPIENT-ID <CR>

            It is better to use SEND and let the other person link back,
            rather than linking without warning.  RECIPIENT-IDs may be
            network addresses, in the form USER-ID@HOST, or local
            PROGRAMMER NAME or TTY-NO.

         (SEND-MAIL)

              [.]mail <SP> RECIPIENT-ID <SP>...MESSAGE...<CR>
            for a one-line message, or:
              [.]mail <SP> RECIPIENT-ID <CR>
              [Subject:] SUBJECT-TEXT
              [Type message followed by <CTRL>Z]
              ...MESSAGE...<CR>
              ...MESSAGE...CONTROL-Z
            for a multi-line message.
            To send a message to a logged-in user's terminal
            immediately, use the command SEND in the formats above
            instead of MAIL.  RECEPIENT-IDs may be network addresses, in
            the form USER-ID@HOST.
            On display terminals the message is terminated with
            CONTROL-META-LINEFEED instead of CONTROL-Z.

         (RETRIEVE-MESSAGE)

            Login, and type:
            [.]rcv <CR>

         (TALK-TO-OPERATOR)

            There is no operator on this system.  The best way to obtain
            assistance is to try to find a knowledgeable user.  Most
            users are willing to help.  The Software Contact listed
            under PERSONNEL is a good place to start.

      (PROTOCOLS)

         (SERVER)

            Network Server Protocols currently implemented are:
             (note all socket numbers are octal)

            1.   TELNET (new (socket 27) and old (socket 1) protocols)
            2.   SUPDUP (socket 137)
            3.   FTP (socket 3, old protocol)
            4.   FINGER (socket 117)
            5.   RS EXEC subset (socket 365)
            6.   Time Server (socket 45)
            7.   Systat (socket 13)
            8.   Echo (socket 7)
            9.   Day/time string (socket 15)
            10.  Network status (socket 17)
            11.  Text (socket 21)
            12.  RS EXEC load average poll (socket 371)
            13.  Discard (socket 11)

         (USER)

            User Protocols currently implemented are:

            1.  TELNET (new protocol)
                [.]telnet <SP> HOST-NAME (or OCTAL-HOST-NUMBER) <CR>
                (tn is legal as an abbreviation)

            2.  TELNET (old protocol)
                [.]otn <SP> HOST-NAME (or OCTAL-HOST-NUMBER) <CR>

            3.  SUPDUP
                [.]supdup <SP> HOST-NAME <CR>
                (sd is legal as an abbreviation)

            4.  FTP (old protocol)
                [.]ftp <SP> HOST-NAME <CR>

            5.  FINGER
                [.]finger <SP> USER-ID@HOST-NAME <CR>

            6.  MAIL
                [.]mail <SP> USER-ID@HOST-NAME <CR>

            7.  SEND
                [.]send <SP> USER-ID@HOST-NAME <CR>

            8.  TALK (network link)
                [.]talk <SP> USER-ID@HOST-NAME <CR>

            9.  WHO (network who-is-on)
                [.]who <SP> @HOST-NAME <CR>

            10. TIMES (network standard time)
                [.]r <SP> times <CR>

            11. HOSTAT (host status)
                [.]r <SP> hostat <CR>

            12. SURVEY (host/socket status, the hard way)
                [.]r <SP> survey <CR>
                [Socket?] OCTAL-SOCKET-NUMBER <CR>

            13. DFTP (Datacomputer File Transfer Program)
                [.]r <SP> dftp <CR>

            14. DCSTAT (Datacomputer status)
                [.]r <SP> dcstat <CR>

            15. DDHACK (private display TELNET, runs only on local DD
                        displays)
                [.]r <SP> ddhack <CR>
                [Host?] HOST-NAME <CR>

            16. RSEXEC (connects to TIP RS EXEC server)
                [.]r <SP> rsexec <CR>

         (NCP-INTERFACE-FROM-LOCAL-PROGRAMS)

            See UUO manual.  The recommended way for user programs to
            interface with the ARPANET is via the NETWRK package.  Two
            versions of this package exist, for the FAIL and MIDAS
            assemblers.  Among other things, NETWRK contains routines
            which interface with the standard host table which all user
            programs should use.
            The source for the NETWRK package is NETWRK.FAI[SUB,SYS] for
            the FAIL version and NETWRK.MID[NET,MRC] for the MIDAS
            version.
            The SU-AI NCP supports 96-bit leaders and is capable of
            addressing the full range of the ARPANET.  The online
            documentation file IMPSER.DOC[SS,SYS] describes the host
            addressing scheme SU-AI uses.  It is planned to implement
            Internet addressing eventually.

      (HARDWARE)

         (COMPUTER)

            TYPE           CORE AMOUNT     CORE SPEED      WORD LENGTH
            DEC-1080         2176K         1-2 microsec.   36 bit
            PDP-10            128K         2 microsec.     36 bit
            PDP-11/45          80K         1 microsec.     16 bit
             and SPS-41      shared
            TI-990           unknown       1 microsec.     16 bit

         (PERIPHERALS)

            HOW MANY         TYPE           MAKE            MODEL

            DISKS
              8              3330-11        AMPEX           DDM331

            TAPES
              2              7 track        DEC             545
              4              DECtape        DEC             555

            PRINTERS
              1              lineprinter    DEC             646
              1              XGP            Xerox           XGP
              1              plotter        Calcomp         563
              1              printer-plot.  Varian          4224

            OTHER
              4              TV cameras     COHU, Sierra, GE
              2              mechanical arm Stanford
              1              vending        Rowe            147
                              machine
              1              phone dialer   Western Elec.   801C
              1              phone dialer   Vadic           VA801
              1              robot cart     Stanford
                              controller

         (TERMINALS)

            HOW MANY      TYPE            MAKE            MODEL
             62           TV display      Data Disc*      TDS
             30           remote display  Datamedia       2500A
              2           vector display  III
              2           remote display  IMLAC           PDS-1
              5           typewriter      TI              725
              1           typewriter      DEC             LA-36
              1           typewriter      Teletype        33
              1           typewriter      Teletype        35


            * Data Disc displays can view computer-generated gray-scale
              images.  The Data Disc controller is connected through a
              video switch built at Stanford to terminals consisting of
              Miratel TV monitors and Microswitch keyboards.

      (OPERATING-SYSTEM)

         WAITS, the SU-AI time-sharing system, is a modification and
         extension of an early DEC system and is to a degree compatible
         with TOPS-10.  Many TOPS-10 user programs are runnable on WAITS
         with only minor modifications.  SU-AI is connected to the
         ARPANET via the SU-TIP.

      (USER-PROGRAMS)

         (CKSUM)

            TYPE:  File management

            CONTACT:  Don Woods (DON@SU-AI)

            DESCRIPTION:  CKSUM maintains a record of checksums for each
            page of one or more files.  Each time it is run it reports
            which pages have changed since last time.  Two typical
            applications would be (1) a large source file, where you want
            to know which pages have been edited and should thus be
            re-printed, and (2) "bulletin-board" type files, where you
            want to know which pages have had further comments added
            since you last looked.  You need not check all the files for
            which checksums are kept each time you run CKSUM.

            ACCESS:
              [.]r <SP> cksum;FILE-LIST <CR>
                (or)
              [.]ck <CR>

            DOCUMENTATION:
              1. Online:  CKSUM.DON[UP,DOC]

         (DIALNET)

            TYPE: Data communication protocol

            CONTACT: Mark Crispin (Admin.MRC@SU-SCORE)

            DESCRIPTION:  Dialnet is a data communication protocol
            intended for use over medium-speed (1200 baud) data links
            over the ordinary telephone network.  Dialnet as implemented
            at Stanford uses VADIC 3400 series modems with a VADIC 801
            autodialer.  Dialnet has also been implemented for TOPS-20
            and the TOPS-20 code is available for export.

            DOCUMENTATION:

              1. Earnest L., and McCarthy, J., "DIALNET: A Computer
                 Communications Study," 1976.  The original proposal,
                 which outlined the Dialnet concept.  A condensed
                 version of this paper was published in the Proceedings
                 of the First West Coast Computer Faire, 1977.

              2. Crispin, M., "DIALNET - A Telephone Network Data
                 Communications Protocol," 1979.  Published in the Fall
                 1979 DECUS Proceedings, this paper briefly summarizes
                 the Earnest & McCarthy paper as well as describing the
                 design of the Dialnet protocols.

              3. Crispin, M., and Zabala, I., "DIALNET Protocols," 1979.
                 Documentation on the Dialnet protocols, for potential
                 implementors.  Online as PROTOC.PUB[DLN,MRC].

              4. Crispin, M., untitled, 1979.  User programming information
                 for Dialnet on WAITS, contained in the online file
                 DLNSER.DOC[SS,SYS].

              5. Crispin, M., "TOPS-20 Dialnet Documentation," 1979.  User
                 programming information for Dialnet on TOPS-20.  Online
                 at SU-SCORE as <DOCUMENTATION>DIALNET.DOC.

         (DIRED)

            TYPE:  Display directory editor

            CONTACT:  Don Woods (DON@SU-AI)

            DESCRIPTION:  DIRED is a directory editor capable of
            displaying a list of files selected from one or more
            directories.  DIRED makes very good use of display terminals,
            can sort the file list by any of several fields, and has
            numerous "editing" facilities, including file deletion,
            renaming, spooling, etc.

            ACCESS:
              [.]drd <SP> DIRECTORY <CR>

            DOCUMENTATION:
              1. Online:   DIRED.DON[UP,DOC]

         (E)

            TYPE:  Display text editor

            CONTACT:  Martin Frost (ME@SU-AI)

            DESCRIPTION:  E is a text editor designed for use on display
            terminals.  It uses random access, edit-in-place operation,
            so small changes to large files are done faster than in
            recopying editors such as SOS or TECO.  Changes to the text
            within a line are made using the line editing facilities in
            the timesharing monitor, which gives fast response to
            editing commands since E need not be swapped in and
            scheduled for these commands.  E is the most widely used
            text editor at SAIL.

            ACCESS:
              [.]etv <SP> FILENAME <CR>

            NETWORK USE PARAMETERS:
              E is readily usable from display terminals supported by
              WAITS (see earlier list of same) and from SUPDUP terminals.
              However, since the system line editor is not available on
              non-displays, major editing (changing) of text is not easy
              to do on such terminals, although it is possible.

            DOCUMENTATION:
              1. Online:   E.ALS[UP,DOC]

         (FAIL)

            TYPE:  PDP-10 Assembler

            CONTACT:  Martin Frost (ME@SU-AI)

            DESCRIPTION:  FAIL is an extremely fast PDP-10 assembler, 5
            times faster than MACRO-10.  It achieves its speed by
            running in one pass instead of the usual two, at a cost of
            large core requirements and more work required of the
            loader.  (It is compatible with DEC's LOADER and LINK-10.)
            We also have MACRO-10 (the standard DEC assembler), and
            MIDAS (MIT's assembler); however, FAIL is the most widely
            used.

            ACCESS:
              [.]r <SP> fail <CR>

            DOCUMENTATION:
              1. FAIL Manual, AIM 291, STAN-CS-76-577.
              2. Online:  FAIL.REG[AIM,DOC]

         (FASBOL)

            TYPE:  SNOBOL compiler

            CONTACT:  Mike Clancy (MJC@SU-AI)

            DESCRIPTION:  FASBOL is a compiler for a dialect of SNOBOL
            4, the string processing language developed at Bell Labs.

            ACCESS:
              [.]r <SP> fasbol <CR>

            DOCUMENTATION:
              1. Griswold, R.,  The SNOBOL 4 Language, Prentice-Hall,
                 1971.
              2. Online:  FASBOL.MJC[UP,DOC]

         (FIND)

            TYPE:  String-search in file

            CONTACT:  Don Woods (DON@SU-AI)

            DESCRIPTION:  FIND searches a file for a given string.  The
            string can include various special sequences that let the
            user specify a subset of regular expressions.  The search is
            linear in the size of the file, and uses a very tight inner
            loop that makes it quite fast (about 6 seconds of processor
            time to search a 3 megabyte file), but restricts it to the
            PDP-10.  Default file to search is the "people" directory;
            the DFIND command defaults to searching a dictionary word
            list.  FIND is written in SAIL (see below) and has been
            exported to TOPS-20 systems.

            ACCESS:
              [.]find <SP> KEY <SP> in <SP> FILE <CR>
              [.]dfind <SP> KEY <SP> in <SP> FILE <CR>

            DOCUMENTATION:
              1. Online:  FIND.DON[UP,DOC]

         (FOL)

            TYPE:  Proof Checker for First-Order Logic

            CONTACT:  Richard Weyhrauch (RWW@SU-AI)

            DESCRIPTION:  FOL is an interactive program for studying the
            uses of logic in artificial intelligence and the mathematical
            theory of computation.  It is presently being used to study
            the recursion theory of LISP and several traditional problems
            in AI.  These include blocks world reasoning and reasoning
            about knowledge.  Its main mode of use is for a user to
            interactively check and simultaneously construct first order
            proofs using either individual proof steps, built in proof
            procedures, or semantic knowledge as specified by FOL's
            semantic attachment facility.  FOL also has the capability of
            using the metatheory of any theory it knows about.

            ACCESS:
              [.]r <SP> fol <CR>

            NETWORK USE PARAMETERS:
              FOL can be used over the network but it is prudent to obtain
              permission for all but the most casual use.  In addition to
              our understanding what FOL is being used for, we can also
              save lots of resources by better collaboration.

            DOCUMENTATION:
              1. An FOL Primer, AIM 288, STAN-CS-76-572.
              2. Online:  FOLPRM.REF[AIM,DOC]

         (HOT)

            TYPE:  Information retrieval system

            CONTACT:  Martin Frost (ME@SU-AI)

            DESCRIPTION:  HOT types news stories from the Associated
            Press and New York Times news wires as they come in.

            ACCESS:
              [.]hot <CR>

            DOCUMENTATION:
              1. News Service System, SAILON 72.2.
              2. Online:  NS.ME[S,DOC]

         (LCF)

            TYPE:  Proof Checker (Logic of Computable Functions)

            CONTACT:  Richard Weyhrauch (RWW@SU-AI)

            DESCRIPTION:  LCF is a proof-checking program for a logic of
            computable functions proposed by Dana Scott in 1969.  The
            proof-checking program is designed to allow the user
            interactively to generate formal proofs about computable
            functions and functionals over a variety of domains,
            including those of interest to the computer scientist - for
            example integers, lists, and computer programs and their
            semantics.  The user's task is alleviated by two features:
            a subgoaling facility and a powerful simplification
            mechanism.  Applications include proofs of program
            correctness and in particular of compiler correctness.

            ACCESS:
              [.]r <SP> lcf <CR>

            DOCUMENTATION:
              1. LCF Manual, AIM 169, STAN-CS-72-288.
              2. Online:  LCFMAN.RGM[AIM,DOC]

         (LISP)

            TYPE:  List processing language

            CONTACT:  Dick Gabriel (RPG@SU-AI)

            DESCRIPTION:  SU-AI has several flavors of LISP.  The basic,
            vanilla LISP is called LISP 1.6, and is comparable to LISP
            1.5.  A version with roughly the same capabilities but
            M-expression (ALGOL-like) syntax is called MLISP.  An
            extension of MLISP with extensibility, pattern matching, and
            backtracking features is called MLISP2.  Another
            M-expression dialect is RLISP.  We also have the U.C. Irvine
            extension of LISP 1.6, called ILISP, with an editor and
            superior debugging facilities.  In addition we have MIT's
            version of LISP (MACLISP), MICROPLANNER (PLNR), and CONNIVER
            (CNVR) languages.  MACLISP is currently the only LISP which
            is maintained.

            ACCESS:
                          Interpreter          Compiler
              LISP 1.6:   [.]r <SP> lisp <CR>  [.]r <SP> complr <CR>
              MLISP:      [.]r <SP> mlisp <CR> [.]r <SP> mlispc <CR>
              MLISP2:     [.]r <SP> mlisp2 <CR
              RLISP:      [.]r <SP> rlisp <CR>
              ILISP:      [.]r <SP> il <CR>    [.]r <SP> ic <CR>
              MACLISP:    [.]lisp <CR>         [.]r <SP> ncomplr <CR>
              PLANNER:    [.]r <SP> plnr <CR>

            DOCUMENTATION:
              LISP 1.6:   LISP.WD[S,DOC]       SAILON 28.7
              MLISP:      MLISP.DAV[AIM,DOC]   AIM 135, STAN-CS-70-179
              MLISP2:     MLISP2.DAV[AIM,DOC]  AIM 195, STAN-CS-73-356
              RLISP:      RLISP.ACH[S,DOC]     SAILON 62
              ILISP:      IL.TVR[UP,DOC]       (from UCI)
              MACLISP:    LISP.RPG[S,DOC]      (from MIT)
              PLANNER:    PLNR.RPO[UP,DOC]     (from MIT)
                          PLNR.BGB[S,DOC]      SAILON 67

         (NS)

            TYPE:  Information retrieval system

            CONTACT:  Martin Frost (ME@SU-AI)

            DESCRIPTION:  NS retrieves news stories from the Associated
            Press  and New York Times news wires based on arbitrary
            keyword selection.  About 2 weeks worth of back news is
            available online.

            ACCESS:
              [.]ns <CR>

            DOCUMENTATION:
              1. News Service System, SAILON 72.2.
              2. Online:  NS.ME[S,DOC]

         (POX)

            TYPE:  Document compiler/text formatter

            CONTACT:  Robert Maas (REM@SU-AI)

            DESCRIPTION:  POX takes as input an ASCII text file
            interspersed with formatting commands, and outputs a file
            containing text and commands to the XGP driver.  In addition
            to most of the usual document-compiler features it allows
            exact placement of text and graphics (1/200 inch resolution)
            and use of recursive macros and "overlays".  An overlay is a
            simulated clear-plastic sheet with text and graphics
            permanently embedded in it.  Overlays can be created,
            measured in x and y extent, or'd together with any
            specified/computed x,y offset, and outputted as if they were
            large characters.  Their major use is constructing very
            complicated mathematical formulas.  POX does not allow
            forward-references because it is one-pass.

            ACCESS:
              [.]pox <SP> OUTPUT-FILE ← INPUT FILE <CR>
              This is used to compile and print a document on the local
              XGP.  Remote users should not do this.  POX is available
              for export.

            DOCUMENTATON:
              1. Online:  POX.REM[UP,DOC]

         (PROVER)

            TYPE:  Theorem Prover

            CONTACT:  David Luckham (DCL@SU-AI)

            DESCRIPTION:  PROVER is an implementation of a
            resolution-based  first-order theorem prover.  The basic
            philosophy and structure of this program were described in
            "An Interactive Theorem-proving Program", by Allen and
            Luckham, MIT (1970).  The user is supplied with a standard
            mathematical notation for specifying the problem and a
            simple language for describing the strategies to guide the
            proof.  The user may interrupt the proof search at any time
            and use the online facilities to further guide the prover.

            The online editor allows the user to associate names with
            collections of deductions.  The collecting can be done by
            pattern matching or by explicit user-selection.  These
            collections can then be used by:  commands to modify the
            current set of deductions (delete, simplify by...); rules of
            inference (resolution, or paramodulation); or by commands to
            initiate sub-proofs.

            ACCESS:
              [.]r <SP> prover <CR>

            DOCUMENTATION:
              1. PROVER Manual, SAILON 73.

         (PUB)

            TYPE:  Text formatter

            CONTACT:  Les Earnest (LES@SU-AI)

            DESCRIPTION:  A versatile text justifier.  Automatic table
            of contents and index generation, multiple columns, all the
            better  things.  Program is slow and uses large core images
            to boot, but is powerful.  PUB is the text formatter
            everybody loves to hate.

            ACCESS:
              [.]pub <SP> FILENAME <CR>

            DOCUMENTATION:
              1. PUB, the Document Compiler, SAILON 70.
              2. Online:  PUB.TES[S,DOC]
                 Update:  PUB.UPD[S,DOC]

         (SAIL)

            TYPE:  Extended-ALGOL language

            CONTACT:  Les Earnest (LES@SU-AI)

            DESCRIPTION:  SAIL is a superset of ALGOL-60.  It also
            includes coroutine features, machine language capability,
            records and references, and other bells and whistles too
            numerous to mention.

            ACCESS:
              To run the SAIL compiler, type:
                [.]r <SP> sail <CR>

            DOCUMENTATION:
            1. SAIL Manual, AIM 289, STAN-CS-76-574.
            2. SAIL Tutorial, AIM 290, STAN-CS-76-575.
            3. Online:  SAIL.JFR[AIM,DOC]
               Update:  SAIL.UPD[AIM,DOC]

            WARNING: the SAIL manual is a very long document.

         (SPELL)

            TYPE:  Spelling Checker and Corrector

            CONTACT:  Ralph Gorin (Admin.Gorin@SU-SCORE)

            DESCRIPTION:  Checks a text file against a standard or
            user-supplied dictionary, correcting errors (with a little
            help from the user).

            ACCESS:
              [.]r <SP> spell <CR>

            DOCUMENTATION:
              1. Online:  SPELL.REG[UP,DOC]

         (SOS)

            TYPE:  Text editor

            CONTACT:  Les Earnest (LES@SU-AI)

            DESCRIPTION:  SOS is a Teletype-oriented (i.e. non-display),
            line-oriented text editor.  Similar to DEC's LINED but
            better.

            ACCESS:
              [.]r <SP> sos <CR>
                or
              [.]edit <SP> FILENAME <CR>

            DOCUMENTATION:
              1. Son of Stopgap, SAILON 50.3.
              2. Online:  SOS.LES[S,DOC]

         (TEX)

            TYPE:  Text formatter

            CONTACT:  Luis Trabb-Pardo (LTP@SU-AI)

            DESCRIPTION:  TEX is a new document compiler developed by
            D. E. Knuth at Stanford.  TEX is designed especially as a
            formatter for technical text.  It is being adopted as a
            standard by the American Mathematical Society.

            ACCESS:
              [.]r <SP> tex <CR>

            DOCUMENTATION:
              1. Tau Epsilon Chi, A System for Technical Text,
                 AIM 317, STAN-CS-78-675.
              2. Online:  MANUAL.TEX[TEX,DEK]

      (INTERESTS)

         Current interests of the Stanford Artificial Intelligence Lab.
         center around research on artificial intelligence, including
         computer vision, hand-eye systems, program verification,
         automatic programming, and mathematical theory of computation.
         A recent project is the Dialnet project, involving data
         communication using ordinary phone lines, and the design and
         implementation of protocols to accomplish this task.

      (REFERENCES)

         The following bibliographies are available online at SU-AI:
           SAILON[BIB,DOC]    Annotated bibliography of SU-AI
                               operating notes
           AIMS[BIB,DOC]      Abstract of recent SU-AI research memos
           AIMS.OLD[BIB,DOC]  Same as above, but older
           FILMS[BIB,DOC]     Abstracts of SU-AI film reports
           THESES[BIB,DOC]    List of theses published by SU-AI
           PUBS[BIB,DOC]      External articles/books by SU-AI staff
           PUBS.OLD[BIB,DOC]  Same as above, but older
           MTCBIB[BIB,DOC]    Bibliography of articles dealing with
                               mathematical theory of computation

         The following file directories contain complete documents:
           [S,DOC]            Text of some SAILONs (operating notes)
           [AIM,DOC]          Text of some AIMs (AI Memos)
           [UP,DOC]           Text of informal program documentation

         The main sources of WAITS documentation are the Monitor Command
         Manual, SAILON 54.6, and the UUO Manual, SAILON 55.5.  These
         are available to users from Documentation Services at the
         laboratory, or online as:
            MONCOM.BH[S,DOC] and MONCOM.UPD[S,DOC],
            UUO.ME[S,DOC] and UUO.UPD[S,DOC],
         the latter of each pair being the manual update.

         NOTE: These are very long files!

         To find online documentation about a particular program, type:
           [.]help <SP> PROGRAM-NAME <CR>

         This write-up for the ARPANET Resource Handbook is found online
         at SU-AI as SUAI.TXT[NET,MRC].

         Other useful features:
           Type: [.] directory <SP> [PRJ,PRG] to list a directory
           Type: [.] type <SP> FILENAME[PRJ,PRG] to type out a file
         NOTE: These commands can be given when not logged in.

      (ORDER-INFORMATION)

         Some AI memos (AIMs) and program documentation are available
         from:
           Publications Coordinator
           Department of Computer Science
           Stanford University
           Stanford, CA  94305

         or via network mail to Connie Stanley, CJS@SU-AI.

         Documents which are out of print locally may be obtained from:
           National Technical Information Service
           US Department of Commerce
           5285 Port Royal Road
           Springfield, VA 22161

         NTIS ordering numbers for Stanford AI documents are available
         from Documentation Services, as above.

         Recent AI Memos are available in microfiche format.